package cn.edu.sjtu.se.dslab.dao;

import java.util.List;

import cn.edu.sjtu.se.dslab.component.method.ComponentInterface;
import cn.edu.sjtu.se.dslab.component.method.InterfaceMethod;

public interface IInterfaceMethodDao {
	public void save(InterfaceMethod interfaceMethod);

	public void update(InterfaceMethod interfaceMethod);

	public InterfaceMethod queryById(long id);
	
	public boolean deleteById(long id);
	
	public boolean delete(InterfaceMethod interfaceMethod);

	/**
	 * 获取所有的函数list
	 * @return
	 */
	public List<InterfaceMethod> queryAll();
	
	/**
	 * 获取所有interface不为空的函数list
	 * @return
	 */
	public List<InterfaceMethod> queryWithInterfaceNotNull();
	
	public List<InterfaceMethod> queryByInterface(
			ComponentInterface componentInterface);
}
